libp2phttp: workaround for ResponseWriter's CloseNotifier #2821
+70
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ResponseWriter implements a deprecated
CloseNotifier
interface. The implementation considers any error during a read an indication that the whole connection is closed. One of these errors is EOF.When we do HTTP over streams, it's normal for an EOF to happen after reading the request (in fact, it's recommended in the spec).
The workaround here is to ignore EOF errors on read when it's a stream we accept a stream (Listener side). This should be fine since we know how to read a full request (doesn't rely on EOF) and if the stream is closed writing will fail